package com.tarena.day03_all;
/**
 * 整数演示 
 *  1）任何整数“字面量”都是 int 类型！
 *    字面量就是直接写出的常数，如：5
 *  2) “整数字面量”在不超过范围情况下可以给“小类型变量”赋值
 *  3) 以0x为前缀的是16进制，0前缀的是8进制
 *  4) 整数超范围运算会溢出
 *  
 *  最常用int，但是要注意范围
 *  short很少使用
 *  byte用于表示文件等底层数据
 */
public class Demo01 {
  public static void main(String[] args) {
    //i 是变量，5 是字面量， 
    int i = 5;//利用字面量5初始化变量i
    byte b;
    b = 5;
    //b = 128;//编译错误，超过范围
    b = -128;//0xffffff80
    //b = i;//编译错误，int变量i，不能赋值给byte变量 b
    b = (byte)i;//强制类型转换 int -> byte
    
    System.out.println(0xffffff80);//-128
    System.out.println(0x80);//128
    
    //b = 0x80;//128 编译错误，超过范围！
    b = 0x7f;//127
    b = 0xffffff80;//-128 
    //b = 0xffffff7f;//-129 编译错误，超过范围！
       
    short s = 0xffff8000; //没有问题， short类型的最小值
    System.out.println(s); 
    
    //int x = 080; //编译错误，8进制没有8！
    
    int max = 0x7fffffff;
    int a = max * 2+2; //超范围溢出
    System.out.println(a); 
    
    System.out.println(Integer.toString(0xfffffffb, 10)); 
    
  }
}









